export default (Vue) => {
  // require.context接受三个参数：要读取的目录，是否读取子目录，正则表达式
  const requireComponent = require.context(
    '@/components',
    true,
    /\.(vue)$/
  )
  // keys 可以获取到组件的目录
  const components = requireComponent.keys()
  components.forEach((componentPath) => {
    const component = requireComponent(componentPath).default
    Vue.component(component.name, component)
    console.log(component)
  })
}
// const requireComponent = require.context(
//   // 其组件目录的相对路径
//   './components',
//   // 是否查询其子目录
//   false,
//   // 匹配基础组件文件名的正则表达式
//   /Base[A-Z]\w+\.(vue|js)$/
// )

// requireComponent.keys().forEach(fileName => {
//   // 获取组件配置
//   const componentConfig = requireComponent(fileName)

//   // 获取组件的 PascalCase 命名
//   const componentName = upperFirst(
//     camelCase(
//       // 获取和目录深度无关的文件名
//       fileName
//         .split('/')
//         .pop()
//         .replace(/\.\w+$/, '')
//     )
//   )

//   // 全局注册组件
//   Vue.component(
//     componentName,
//     // 如果这个组件选项是通过 `export default` 导出的，
//     // 那么就会优先使用 `.default`，
//     // 否则回退到使用模块的根。
//     componentConfig.default || componentConfig
//   )
// })
